Close

%0 Journal Article
%4 sid.inpe.br/mtc-m21d/2023/01.03.17.06
%2 sid.inpe.br/mtc-m21d/2023/01.03.17.06.26
%@doi 10.1016/j.infsof.2022.107089
%@issn 0950-5849
%T CADV: A software visualization approach for code annotations distribution
%D 2023
%8 Feb.
%9 journal article
%A Francisco, Phyllipe de Souza Lima,
%A Melegati, Jorge,
%A Gomes, Everaldo,
%A Pereira, Nathalya Stefhany,
%A Guerra, Eduardo,
%A Meirelles, Paulo,
%@affiliation Instituto Nacional de Pesquisas Espaciais (INPE)
%@affiliation Free University of Bolzano-Bolzen
%@affiliation Universidade Federal do ABC (UFABC)
%@affiliation Instituto Nacional de Telecomunicações (INATEL)
%@affiliation Free University of Bolzano-Bolzen
%@affiliation Universidade Federal do ABC (UFABC)
%@electronicmailaddress phyllipe@unifei.edu.br
%@electronicmailaddress jorge@jmelegati.com
%@electronicmailaddress everaldogjr@gmail.com
%@electronicmailaddress nathalya.stefhany@gec.inatel.br
%@electronicmailaddress eduardo.guerra@unibz.it
%@electronicmailaddress paulo.meirelles@ufabc.edu.br
%B Information and Software Technology
%V 154
%P e107089
%K Code annotations, Circle packing, Empirical evaluation, Software visualization.
%X Context: Code annotations is a widely used feature in Java systems to configure custom metadata on programming elements. Their increasing presence creates the need for approaches to assess and comprehend their usage and distribution. In this context, software visualization has been studied and researched to improve program comprehension in different aspects.Objectives: This study aimed at designing a software visualization approach that graphically displays how code annotations are distributed and organized in a software system and developing a tool, as a reference implementation of the approach, to generate views and interact with users.Methods: We conducted an empirical evaluation through questionnaires and interviews to evaluate our visualization approach considering four aspects: (i) effectiveness for program comprehension, (ii) perceived usefulness, (iv) perceived ease of use, and (iv) suitability for the intended audience. The resulting data was used to perform a qualitative and quantitative analysis.Results: The tool identifies package responsibilities providing visual information about their annotations at different levels. Using the developed tool, the participants achieved a high correctness rate in the program comprehension tasks and performed very well in questions about the overview of the system under analysis. Finally, participants perceived that the tool is suitable to visualize the distribution of code annotations.Conclusions: The results show that the visualization approach using the developed tool is effective in program comprehension tasks related to code annotations, which can also be used to identify responsibilities in the application packages. Moreover, it was evaluated as suitable for newcomers to overview the usage of annotations in the system and for architects to perform a deep analysis that can potentially detect misplaced annotations and abnormal growths on their usage.
%@language en
%3 1-s2.0-S0950584922001987-main.pdf


Close